Hi Dave,
Strange. I just tried it with the Mach3 latest Lockdown V3.043.066 and KMotion V4.29 and I'm not able to reproduce any problem. What I did specifically was:
#1 install Mach3
#2 Install KMotion + Mach3 Plugin
#3 Run Mach3 - mill - Dynomotion Plugin - Dont ask again
#4 configure Dynomotion Plugin
#5 load an example file with 10000 tiny segments forming a circle
#6 Tool plot shows only about 500 segments (fraction of a circle)
#7 Exit Mach3 copy Mach1Lic.dat to Root of Mach3 Install
#8 Restart Mach3 - plot now shows full circle
#9 Run job - runs all 10000 lines
#10 exit/repeat all seems ok
Regarding soft limit: I don't really understand your description of what is happening. I believe your system is a servo with encoders so the Position should always match the Commanded Destination (within a few counts) unless you have your setting such that your commanded speed/acceleration is too high for what your system can actually do. If a small Max Following Error is set then the Commanded and Actual will always be known to be close otherwise there will be a Following Error Disable. The actual Position always updates every 90us. I don't really understand the logic of constantly setting the Dest to the Current Position when in the Soft Limit. There should not be a jump if the
system is re-enabled with the Destination set to Current Position.
Regards
TK
| Group: DynoMotion |
Message: 5748 |
From: dtplain |
Date: 10/7/2012 |
| Subject: Re: Dynomotion breaks Mach3 license |
Yes I've got an digital AC servo system. The motors have 2000 line encoders.
Actually I think the jump is inertia carrying the machine a little further so when when the axis is re-enabled it will do a jump. It's not a large movement about 1/8" or less so it is not a problem.
So on the axis configuration screen if I selected "Disallow drive into limit" or "Kill drive" with the Move0=10000 if the limit "switch" hits at 1000 the drives are disabled and stopped. When the limit is reached Kflop will clear any Dest beyond the current position?
Am I thinking about the Dest correctly? If I command a Move0=10000 does that mean Dest=10000 immediately? Or is the Position supposed to follow an increasing Dest at all times as best as it can? How close should I set a MaxFollowingError?
Dave
--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Dave,
>
> Strange. Â I just tried it with the Mach3 latest Lockdown V3.043.066 and KMotion V4.29 and I'm not able to reproduce any problem. What I did specifically was:
>
> #1 install Mach3
>
> #2 Install KMotion + Mach3 Plugin
>
> #3 Run Mach3 - mill - Dynomotion Plugin - Dont ask again
>
> #4 configure Dynomotion Plugin
>
> #5 load an example file with 10000 tiny segments forming a circle
>
> #6 Tool plot shows only about 500 segments (fraction of a circle)
>
> #7 Exit Mach3 copy  Mach1Lic.dat to Root of Mach3 Install
>
> #8 Restart Mach3 - plot now shows full circle
>
> #9 Run job - runs all 10000 lines
>
> #10 exit/repeat all seems ok
>
>
> Regarding soft limit: I don't really understand your description of what is happening. Â I believe your system is a servo with encoders so the Position should always match the Commanded Destination (within a few counts) unless you have your setting such that your commanded speed/acceleration is too high for what your system can actually do. Â If a small Max Following Error is set then the Commanded and Actual will always be known to be close otherwise there will be a Following Error Disable. Â The actual Position always updates every 90us. Â I don't really understand the logic of constantly setting the Dest to the Current Position when in the Soft Limit. Â There should not be a jump if the system is re-enabled with the Destination set to Current Position.
>
> Regards
> TK
>
>
>
>
> ________________________________
> From: dtplain <dplain@...>
> To: DynoMotion@yahoogroups.com
> Sent: Sunday, October 7, 2012 4:43 PM
> Subject: [DynoMotion] Re: Dynomotion breaks Mach3 license
>
>
> Â
>
> I figured it out. If I let Mach ask me each time to select an external motion device it works. If I click "don't ask again" it will not work on the next start up. Don't know why but I can live with that.
>
> I did, however, have a couple of questions about limits.
>
> I have a routine that checks ch0->Dest and when it goes out of limits it sets a virtual bit to represent a limit switch. I have the axis to monitor the bit and inhibit motion into the limit.
>
> if(ch0->Dest > XPLUSLIMIT)
> {
> SetBit(48);
> ch0->Dest = ch0->Position;
> }
> else
> ClearBit(48);
>
>
> It works okay except that ch0->Dest might be kind of far from the actual limit and trips early (sometimes way early in rapid). I wanted to use ch0->Position but it did not seem to work. Does position not update fast enough while the axis is moving or am I thinking wrong?
>
> Also if the command was for motion beyond the limit I want the proper procedure to clear the command and have the servo hold current position when re-enabled (the ch0>Dest = ch0->Position will jump a little bit).
>
> Thanks,
>
> Dave
>
|
|